Bài tập tự luyện
Bài tập 1: Phương tiện giao thông
Yêu cầu:
- Tạo abstract class
Vehicle
có các abstract method:start_engine()
vàmove()
. - Tạo các lớp con
Car
,Bike
,Boat
kế thừa từVehicle
, implement đầy đủ các phương thức. - Tạo danh sách chứa các đối tượng khác nhau và gọi phương thức
start_engine()
vàmove()
cho mỗi đối tượng.
Bài tập 2: Hình học cơ bản
Yêu cầu:
- Tạo abstract class
Shape
với các abstract method:area()
vàperimeter()
. - Tạo các lớp
Circle
,Rectangle
,Square
,Triangle
kế thừa từShape
, mỗi lớp có constructor riêng để nhận thông tin hình học. - Viết chương trình in ra diện tích và chu vi của từng hình.
Bài tập 3: Hệ thống thanh toán
Yêu cầu:
- Tạo abstract class
PaymentMethod
có các abstract method:authenticate()
vàpay(amount)
. - Tạo các lớp con
CreditCard
,PayPal
,CryptoWallet
và override các phương thức. - Viết chương trình giả lập quá trình thanh toán bằng các phương thức khác nhau.
Bài tập 4: Quản lý nhân sự
Yêu cầu:
-
Tạo abstract class
Employee
có:- Thuộc tính:
name
,id
- Abstract method:
calculate_salary()
- Thuộc tính:
-
Tạo các lớp con
FullTimeEmployee
,PartTimeEmployee
,Freelancer
-
Mỗi lớp tự tính lương theo công thức khác nhau.
-
Tạo danh sách nhân viên, in ra tên và lương từng người.
Bài tập 5: Trình phát media
Yêu cầu:
- Tạo abstract class
MediaPlayer
với các abstract method:play()
,pause()
,stop()
. - Tạo các lớp con
MP3Player
,VideoPlayer
,StreamingPlayer
. - Tạo menu điều khiển đơn giản qua terminal cho người dùng chọn loại media và thao tác.
Bài tập 6: Trình quản lý plugin
Yêu cầu:
-
Tạo abstract class
Plugin
với các abstract method:load()
,execute()
,unload()
. -
Viết một plugin tên
SpellCheckPlugin
và một cái khác làAutoSavePlugin
. -
Viết trình quản lý (plugin manager) cho phép:
- Đăng ký plugin
- Gọi
load
,execute
,unload
tuần tự